Automated alert state change of user devices for time-based and location-based events

ABSTRACT

Automatically changing the alert state of user devices for time-based and location-based events. In response to a time-based event, such as a scheduled calendar appointment, a system transmits a signal to an associated user device to change its alert state such as from an audible ringer mode to a non-audible vibrate mode. The system can make a similar alert state change upon receiving an indication of a location-based event such as detection of the user device within a particular building geographic area. If the user device is not remote controllable to change its alert state, the system transmits a text message or audio message to the user device to inform the user of the occurrence of the time-based or location-based event.

REFERENCE TO RELATED APPLICATIONS

[0001] The present application is related to the following applications, all of which are incorporated herein by reference as if fully set forth: United States provisional patent application of Brian C. Roundtree, Ser. No. 60/182,330, entitled “Web-Based Personal Assistance Communication Method,” and filed Feb. 14, 2000; United States patent application of Brian C. Roundtree, entitled “Web-Based Personal Assistance Communication System,” and filed Jul. 17, 2000; United States patent application of Brian C. Roundtree, entitled “Web-Based Personal Assistance Communication Method,” and filed Jul. 17, 2000; United States patent application of Brian C. Roundtree, entitled “Web-Based Personal Assistance User Interface System,” and filed Jul. 17, 2000; United States patent application of Brian C. Roundtree, entitled “Voice-to-Concept Conversion System,” and filed on Sep. 8, 2000; United States patent application of Craig G. Eisler and Brian C. Roundtree, entitled “On-Line Service Provider Sign-Up System,” and filed on Sep. 8, 2000; United States patent application of Keldon V. Rush and Brian C. Roundtree, entitled “System for Converting Textual Concepts to Interactive Audio and Audio/Visual Presentations,” and filed on Sep. 8, 2000; United States patent application of Brian C. Roundtree, entitled “System for Obtaining Service-Related Information for Local Interactive Wireless Devices,” and filed on Sep. 8, 2000; United States patent application of Cristiano L S Pierry and Brian C. Roundtree, entitled “System for Secure Electronic Transactions Using Unique Identifiers for Order-Related Information,” and filed on Sep. 8, 2000; United States patent application of Brian C. Roundtree, entitled “Airline Flight Departure and Arrival Prediction Based Upon Historical and Real-Time Data,” and filed on same date herewith; United States patent application of Craig G. Eisler and Brian C. Roundtree, entitled “Hypertext Concept Notation for Dynamically Constructing a Sentence to Respond to a User Request,” and filed on same date herewith; United States patent application of Craig G. Eisler and Brian C. Roundtree, entitled “Assembling Personal Information of a Target Person Based Upon Third-Party Information and a Request Purpose,” and filed on same date herewith; United States patent application of Brian C. Roundtree, entitled “Automated Reservation and Appointment System Using Interactive Voice Recognition,” and filed on same date herewith; and United States patent application of Craig G. Eisler and Brian C. Roundtree, entitled “Rendering Data Using Rendering Instructions Based Upon Concept Identifiers for the Data,” and filed on same date herewith.

FIELD OF THE INVENTION

[0002] The present invention relates to an apparatus and method for automatically changing the alert state of a user device for time-based and location-based events.

BACKGROUND OF THE INVENTION

[0003] Wireless devices, such as cell phones and personal digital assistants (PDAs), are becoming more commonly used and have the potential for communication over the Internet in addition to traditional telephone networks. The Internet communication with these devices permits users to obtain services and other related information using wireless communication with the devices. For example, a user can download content from the world wide web on the Internet using a cell phone and have the information displayed on the display panel of the cell phone. Therefore, in addition to using the cell phone for voice communication, the user can obtain content over the Internet concerning, for example, services available from service providers. The user can also execute transactions over the Internet using the cell phone or other wireless device. For example, the user can make electronic purchases for good or services, analogous to how users can make transactions over the Internet using a personal computer having a connection to the Internet.

[0004] Many wireless devices, however, provide for limited ways to enter information for communications over the Internet. Cell phones, for example, typically have only a key pad in addition to a microphone, making entry of textual information slow and inconvenient. Other devices, such as PDAs, may have even more limited ways to enter textual information. Therefore, these devices do not typically provide the same ease of interacting over the Internet as provided by a personal computer having a keyboard and cursor-control device for easy and convenient “point and click” selection of content displayed in web pages. These devices may also be limited in how information can be displayed. Wireline devices, such as conventional phones, provide for even more limited interaction over the Internet.

[0005] Also, when using these user devices to execute the transactions, the information available through the transactions is often limited. A user request for content often results in generic content potentially applicable to many situations other than the particular situation of the user. For example, a user may want information about purchasing gifts for others or information about services available such as travel-related information. In response to a request for such information, the user may be provided with information about gifts for generic categories and other information for general travel-related services. Without targeting the information to the user's situation, the information may not have much value to the user.

[0006] Accordingly, a need exists for increased options and versatility for user's having wireless devices or wireline devices to interact and make transactions over the Internet, for increased versatility to request service or make transactions with service providers, and for obtaining more information targeted to a user's particular situation or request.

SUMMARY OF THE INVENTION

[0007] A method and apparatus consistent with the present invention automatically change an alert state for a user device in response to time-based or location-based events. Information is stored concerning the time-based events and the location based events, and those events are associated with a user device having a variable alert state. Upon detecting an occurrence, or receiving an indication of an occurrence, of one of the time-based or location based events, a signal is transmitted to the user device to change its alert state.

BRIEF DESCRIPTION OF THE DRAWINGS

[0008] The accompanying drawings are incorporated in and constitute a part of this specification and, together with the description, explain the advantages and principles of the invention. In the drawings,

[0009]FIG. 1 is a diagram of a system for processing requests for service;

[0010]FIG. 2 is a diagram of a network for communicating with wireless and wireline devices and service providers to process requests for service;

[0011]FIG. 3 is a diagram of exemplary components of a server for processing requests for service;

[0012]FIG. 4 is a diagram of exemplary components of a wireless device;

[0013]FIG. 5 is a diagram illustrating an automatic alert state change for time-based events;

[0014]FIG. 6 is a diagram illustrating an automatic alert state change for location-based events;

[0015]FIG. 7 is a flow chart of a method for obtaining and setting alert state change information; and

[0016]FIGS. 8 and 9 are a flow chart of a method for an automatic alert state change for time-based events and location-based events.

DETAILED DESCRIPTION Introduction

[0017] Embodiments consistent with the present invention provide various features for a web-based electronic personal assistant, as described in the web-based personal assistance applications identified above. The electronic personal assistant is implemented with a system server that the receives requests from users through wireless or wireline devices and processes the requests in order to provide the user with requested service or information. These features permit the user to interact with the system server in a variety of ways such as through a display on the device, a keyboard or keypad, or through voice interaction. The system server can present information to the user in a variety of ways as well, such as through audio communication or through information presented on a display with, for example, textual information, screens, or web pages presented with HyperText Markup Language (HTML).

[0018] The requests, as explained in the web-based personal assistance applications identified above, can include any request for service or information. For example, a user may request a meeting, and in response the system server queries the user to obtain information required to arrange the meeting and then automatically makes the arrangements. As another example, a user may request information concerning services in a particular geographic location or based upon other parameters, and the system server can query the user to determine the type of information requested, such as particular types of retail establishments, and provide the information to the user. As another example, a user may request to purchase goods or services, or make reservations for services, and in response the system server queries the user to determine the type of goods or services desired as well as other information such as a desired price. Based upon that information, the system server automatically makes the purchase for the user. For the reservations example, the system server can query the user to determine information required to make the reservations for the user. For any request, the system server can access user preferences to obtain information required or useful to process the request, such as the user's credit card information and shipping address.

[0019] In addition, the system server can automatically notify the user of particular information. The system server typically maintains a database of preferences for the users in order to help process the requests. It also maintains a concept database and uses the concepts in order to retrieve and construct queries, such as text fragments, for the user. The use of only text fragments, for example, saves transmission time in comparison to transmission of graphical information over a network; alternatively, graphics can be used in addition to the text fragments.

[0020] Based upon the type of request, and potentially user preferences, the system server selects the appropriate queries from the concept database to obtain information to process the request. Upon completion of the processing, the system server can present to the user a sentence constructed from the related concepts in order to confirm the request. It can also use the sentence to document the request, retrieve the appropriate resources for it, and otherwise fulfill the request. This process, and the use of these concepts and the structure for a concept database, are further described in the web-based personal assistance applications identified above.

[0021] The system server can also cross-reference the concept database with a service provider database. In order to fulfill requests, the system server can access a database identifying available service providers for the request. At the end of each string of concepts in the concept database, that database can specify a link or pointer to the relevant service providers in the service provider database. For example, if the request is for a meeting, once the system server has all the relevant information as constructed from the concepts, the concept for the location of the meeting can include a pointer or link to the establishments proximate the location and available to provide food for the meeting. Therefore, information for relevant service providers can be associated with the appropriate concepts in the concept database.

Request Processing

[0022]FIG. 1 is a diagram of a system for fulfilling a request for service. The system includes a system server 10 for processing a request transmitted from a requester 12 through a network 14 such as the Internet or other wireline or wireless network. System server 10 includes several software modules for processing the request from requester 12. A communicator module 16 manages an interface for the communications with requestor 12 over network 14. Communicator module 16 receives the request and provides necessary formatting and other processing for transmitting it to a planner module 22.

[0023] Planner module 22 interacts with a service provider module 24 in order to obtain the resources for fulfilling the request. In particular, service provider module 24 interacts over a network 30, such as the Internet or a phone network, with one or more service providers 32 in order to obtain services to fulfill the request. Service provider module 24 provides for communication and data conversion for the interaction, while planner module 22 manages processing of the request and interacts with various databases for processing the request. A private credit card service module 28 can provide for secure order processing of the request to help safeguard users' personal information such as credit card numbers.

[0024] Once the planner module 22 has obtained the resources for the request, it communicates information to fulfill the request to an executor module 18. Executor module 18 includes a pending plan database 20 for storing and managing resources and other information to fulfill the request. Executor module 18 thus communicates back over network 14 with requestor 12 to provide confirmation of the request and also to execute the request.

[0025] A learning module 26 can provide for fine-tuning plan data within a database 34 in order to more efficiently process requests, particularly from the same requestor. Other databases include a database 36 storing financial data accessed by executor module 18, and a database 38 storing personal data accessed by executor module 18 and planner module 22. The personal data can include an account for each user having a profile and preferences for the users, and the information can be indexed by a particular user identifier such as a phone number or code.

[0026] Table 1 illustrates a user account. As shown, the user accounts can include users' preferences for a wide variety of information such as for travel, dining, and other types of service providers. The user preferences can be continually updated and refined over time as the system server gathers more information concerning the user, and the system server can optionally use learning models for the refinements and use the preferences to make “smart choices” in processing users' requests. The information can be stored in a variety of ways such as in a relational database or with name-value pairs in Extensible Markup Language (XML). TABLE 1 user 1 identifier data contact name, address profile user 1 characteristics hotel information user 1 hotel preferences airline information user 1 airline preferences rental car information user 1 rental car preferences restaurant information user 1 restaurant preferences service provider preferences user 1 service provider preferences other category user 1 preferences for the category

[0027] Processing to fulfill the request is further explained in the web-based personal assistance applications identified above.

Network

[0028]FIG. 2 is a diagram of an exemplary network 50 illustrating interaction for receiving and processing requests from users such as requester 12. It illustrates how the system can receive requests through wireless and wireline transmission over conventional phone and cellular networks as well as the Internet or other computer networks. A requestor typically makes a request from a wireless or wireline device. The wireless devices include any device capable of wireless electronic communication and examples include the following: cellular phones; PDAs with wireless network access; wireless Internet appliances; personal computers (including desktop, laptop, notebook, and others) with wireless network access; and personal computers with microphones, speakers, and circuitry for permitting wireless phone calls. The wireline devices include any device capable of electronic wireline communication and examples include the following: conventional phones; PDAs with wireline network access; Internet appliances; personal computers (including desktop, laptop, notebook, and others) with wireline network access; and personal computers with microphones, speakers, and circuitry for permitting wireline phone calls.

[0029] A wireless device 52, for example, can interact through wireless transmission with a base station 56 for communication over a personal communication system (PCS) 58. A request may also be made from a wireline device 54 communicating over a public switched telephone network (PSN) 60. Systems for wireless and wireline communication, includes a PCS and PSN, are known in the art.

[0030] Communications through networks 58 and 60 are transmitted through a gateway 62 and potentially a buffer 64 to a speech processor 66 for performing processing of audio or particular types of communications, such as for voice-to-text conversion. Also, the communication may occur directly from gateway 62 to an interface server 68. Interface server 68 controls gateway 62, and it provides an interface between a system server 76 and gateway 62, speech processor 66, and the world wide web 70.

[0031] System server 76 corresponds with system server 10 in FIG. 1 to process user requests. Interface server 68 provides the data conversion and processing for transferring data to and from system server 76. As shown by the dashed line, speech processor 66 and interface server 68 can be implemented with the same physical machine or with different machines. Also, system server 76 can be implemented with one or more physical machines and can also be programmed to implement the functions of speech processor 66 and interface server 68.

[0032] In addition to receiving requests over networks 58 and 60, interface server 68 can receive a request over the world wide web 70. In particular, a wireless device 74 can interact through wireless communication with a PCS 72, which communicates over the world wide web 70 through a communication protocol such as, for example, the wireless application protocol (WAP). The WAP for communications over the Internet is known in the art.

[0033] System server 76 can communicate over the world wide web 78 with various service provides 80 to fulfill requests. In addition, system server 76 can communicate with credit card processing or other financial networks 86 in order to provide financial processing for fulfilling requests. Networks 86 can include known networks, including banking networks, for processing credit card transactions. As shown, service providers 80 and financial networks 86 can also send and receive communications through a PCS 82 and PSN 84.

[0034] System server 76 can communicate directly over the world wide web 78 to a gateway 88 and base station 90 in order to provide communication directly with a wireless device 92. Also as shown, communications can occur from system server 76 back through interface server 68 and speech processor 66 to the end user wireless devices 52 and 74 and wireline device 54; system server 76 can also communicate directly with gateway 62, as shown. Those communications can provide, for example, confirmation of a request or information responsive to a request.

[0035] Network 50 illustrates fundamental hardware components for communications over the various types of networks shown. As known in the art, network 50 can include additional components and can also include components for providing services known in the art with respect to phone calls. For example, it can include a caller ID service to provide system server 76 with the phone number of the user's wireless or wireline device originating a communication. Also, network 50 can include other means for communication of data such as through satellite transmission. For transmission over the Internet, network 50 can use Transmission Control Protocol/Internet Protocol (TCP/IP) or other protocols.

Server Components

[0036]FIG. 3 depicts a server 100 illustrating exemplary hardware components of system server 10 and other machines used by the system, such as speech processor 66 and interface server 68. Server 100 includes a connection with a network 116 such as the Internet or other type of computer or phone networks, which may correspond with the networks shown in FIGS. 1 and 2. Server 100 typically includes a memory 102, a secondary storage device 110, a processor 112, an input device 114, a display device 108, and an output device 106.

[0037] Memory 102 may include random access memory (RAM) or similar types of memory, and it may store one or more applications 104 for execution by processor 112. Applications 104 may correspond with software modules to perform processing for the functions described below. Secondary storage device 110 may include a hard disk drive, floppy disk drive, CD-ROM drive, or other types of non-volatile data storage, and it may correspond with the various databases shown in FIG. 1. Processor 112 may execute applications or programs stored in memory 102 or secondary storage 110, or received from the Internet or other network 116. Input device 114 may include any device for entering information into server 100, such as a keyboard, key pad, cursor-control device, touch-screen (possibly with a stylus), or microphone. Display device 108 may include any type of device for presenting visual information such as, for example, a computer monitor, flat-screen display, or display panel. Output device 106 may include any type of device for presenting a hard copy of information, such as a printer, and other types of output devices include speakers or any device for providing information in audio form. Server 100 can possibly include multiple input devices, output devices, and display devices.

[0038] Although server 100 is depicted with various components, one skilled in the art will appreciate that this server can contain additional or different components. In addition, although aspects of an implementation consistent with the present invention are described as being stored in memory, one skilled in the art will appreciate that these aspects can also be stored on or read from other types of computer program products or computer-readable media, such as secondary storage devices, including hard disks, floppy disks, or CD-ROM; a carrier wave from the Internet or other network; or other forms of RAM or ROM. The computer-readable media may include instructions for controlling server 100 to perform a particular method.

Wireless Device Components

[0039]FIG. 4 illustrates exemplary hardware components of a wireless device 120, which may correspond with the exemplary wireless devices identified above. Wireless device 120 typically includes a memory 122, a secondary storage device 130, a processor 132, an input device 134, a display device 128, an output device 126, a transmitter/receiver 136, and a short range transmitter/receiver 138.

[0040] Memory 122 may include RAM or similar types of memory, and it may store one or more applications 124 for execution by processor 132. Applications 124 may correspond with software modules to perform processing for the functions described below, and they may also include web browser programs for retrieving and displaying content from the Internet. Secondary storage device 130 may include a hard disk drive, floppy disk drive, CD-ROM drive, or other types of non-volatile data storage such as a ROM. Processor 132 may execute applications or programs stored in memory 122 or secondary storage 130. Input device 134 may include any device for entering information into wireless device 120, such as a keyboard, key pad, cursor-control device, touch-screen (possibly with a stylus), or microphone. Wireless device 120 can include multiple input devices; for example, it can include both a microphone and key pad for a cell phone. Display device 128 may include any type of device for presenting visual information such as, for example, a computer monitor, flat-screen display, or display panel. Output device 126 typically includes a speaker for providing information in audio form. It can also include a device for providing a hard copy of information such as a printer, or provide a port for a connection to a printer. Wireless device 120 can possibly include multiple input devices, output devices, and display devices.

[0041] Transmitter/receiver 136 provides for wireless communication with phone networks or computer networks such as is shown in FIGS. 1 and 2. Transmitter/receiver 136 can be implemented with known RF transmitters and receivers for providing cellular transmission between wireless device 120 and base stations such as base stations 56 and 90, or it can be implemented with a wireless transmitter/receiver for other types of communication such as a satellite transmission.

[0042] Short range transmitter/receiver 138 provides for wireless short range communication with other wireless devices, and it can be implemented with transmitters and receivers that operate according to the IEEE standard 802.11 for local wireless networks or according to the standard referred to as the Bluetooth™ technology for direct wireless communication between local interactive wireless devices; that technology is explained in, for example, the Specification of the Bluetooth System, Core, v1.0 B, Dec. 1, 1999 and the Specification of the Bluetooth System, Profiles, v1.0 B, Dec. 1, 1999, both of which are incorporated herein by reference.

[0043] In addition, even if a wireless device does not contain short range transmitter/receiver 138, technology exists to obtain an approximate geographic location of certain wireless devices. In particular, using multiple base stations the signal from a cellular phone, for example, can be triangulated in order to obtain an approximate geographic location of the cellular phone, including an indication of its vertical (altitude) location.

[0044] Although wireless device 120 is depicted with various components, one skilled in the art will appreciate that this wireless device can contain additional or different components. In addition, although aspects of an implementation consistent with the present invention are described as being stored in memory, one skilled in the art will appreciate that these aspects can also be stored on or read from other types of computer program products or computer-readable media, such as secondary storage devices, including hard disks, floppy disks, or CD-ROM; a carrier wave from the Internet or other network; or other forms of RAM or ROM. The computer-readable media may include instructions for controlling wireless device 120 to perform a particular method.

[0045] Exemplary hardware components for wireline devices, such as the examples provided above, can include the same components as wireless device 120 except without the transmitter/receiver 136 and the short range transmitter/receiver 138.

Automatic Alert State Change for User Devices

[0046] Automatic alert state changes provide for changing the alert state of a user device, or providing notification of it, in response to the occurrence of time-based and location-based events. The alert state refers to how a user device provides notification of events. For example, many cellular phones have a vibrate mode in addition to a ringer for providing notification of an incoming phone call. PDAs can include a “chime” sound to indicate an incoming e-mail message and can also include reminder “bell” sounds at particular times.

[0047] A variable alert state means that a user device has more than one alert state; for example, ringer mode and vibrate mode for a cellular phone. An alert state includes any capability to provide a notification of an event such as, for example, a ringer, vibrate mode, text message, visual indication, or audible indication. Also, an alert state can possibly be suppressed to provide no indication of the event; for example, a “chime” sound or no sound for an incoming e-mail. Therefore, changing the alert state can include changing from an indication of an event to no indication.

[0048] Users often desire to change alert states of their user devices for certain events. For example, a user may want change a cellular phone alert state from the ringer to vibrate modes during a meeting in order to receive notification of calls during the meeting but also to avoid disrupting the meeting with a ringer. Likewise, a user may wish to turn a cellular phone to vibrate mode when going to a movie theater. After these events, the meeting or the movie, the users often wish to change the alert state back to the ringer from the vibrate mode. The automatic alert state change provides for automatically making these types of alert state changes, or providing notifications of the events, so that a user need not have to manually change the alert state or have to remember do so for the particular events.

[0049]FIG. 5 is a diagram illustrating a system 150 for an automatic alert state change for time-based events. A system server 152, which may be implemented with system server 10 described above, can access an alert state change protocol 154, which represents stored information such as in a database for determining preferences for alert state changes. System server 152 can also access stored information relating to time-based event information 156 such as in a database for use in determining when to initiate an alert state change or transmission of a related message. As indicated, stored information 156 can include an electronic calendar for determining time periods for particular users for alert state changes for their user devices. System server 152 communicates over a network 158, such as the Internet or one of the networks described above, with a user device 160. Only one user device is shown for illustrative purposes; system server 152 can communicate with many user devices for alert state changes or notifications. Based upon the time-based event information 156 and the alert state change protocol 154, system server 152 transmits a signal 162 to user device 160 to provide an alert state change or notification of the event. Likewise, system server 152 determines that the time-based event has ended, which can be considered a separate time-based event, it can send another alert state change signal or notification to user device 160.

[0050]FIG. 6 is a diagram illustrating a system 170 an automatic alert state change for location-based events. System server 152 can access alert state change protocol 154 for determining preferences for alert state changes for upon location-based events. It can also access stored location-based event information 172 such as in a database for determining when to initiate an alert state change or notification of the alert state for occurrence of location-based events. The information for time-based events 156 and location-based events 172 can be stored in the same or separate databases.

[0051] An interactive wireless device 174 can routinely transmit a ping signal 176 to determine when user device 160 is within range of it. This can occur through local interactive wireless devices as described in the related application identified above. Upon detecting user device 160 within range, interactive wireless device 174 can transmit a signal 178 to system server 152 indicating that user device 160 is within a particular geographic area. The geographic area can be identified, for example, as a particular building, retail establishment, service provider, street address, or other location.

[0052] In response, and based upon location-based information 172 and alert state change protocol 154, system server 152 can transmit to user device 160 a signal 180 via network 158. Signal 180 provides an alert state change or notification of the location-based event to user device 160. Likewise, when interactive wireless device 174 stops sending an indication that user device 160 is within the geographic area, system server 152 can send another alert state change signal or notification to user device 160.

[0053] Signals 162 and 180 can be implemented with any signal sent over a wireline or wireless networks, such as those identified above, to contact a user device and provide a command or other instruction to change its alert state from one particular state to another.

[0054]FIG. 7 is a flow chart of a method for 190 obtaining and setting alert state change information for alert state change protocol 154, time-based event information 156, and location-based event information 172. Method 190 can be implemented in software modules within a server such as system server 152. In method 190, system server 152 determines whether to query a user for alert state change preferences and information for time-based events and location-based events (step 192). For example, system server 152 can obtain preferences when a user signs up for service with the system or can periodically query the user to provide updated information. If it determines to query the user (step 194), system server 152 sends a request to the user for alert state change information (step 196). For example, system server 152 can transmit a predetermined query sequence to the user device according to a query protocol or send a form to the user. In response to the querying, system server 152 receives alert state change information from the user (step 198), which can include both preferences for alert state changes and identification of time-based events and location-based events.

[0055] System server 152 can obtain the information through querying the user at the user device. For example, it can use concepts to represent the information required to identify the events and preferences for alert changes, and query the use with the concepts. The querying can occur using text messages displayed to the user at the user device, or through concept-to-audio conversion and voice-to-concept conversion techniques. These techniques, and the use of concepts, are described in the related applications identified above.

[0056] System server 152 can optionally receive alert state change information from other sources such as third parties (step 200). Using the received information, system server 152 stores the preferences, time-based events, and location-based events, and associates the information with the user device (step 202). System server 152 can maintain a database of such information for the users and their associated user devices, and it can execute method 190 for multiple users and repeatedly for the same users to obtain updated information.

[0057] Table 2 provides an example of a data structure for indexing protocols for alert state changes according to time-based events and location-based events for a particular user device. Separate events can be used to specify, for example, the beginning and ending of particular events as described above. The system server can maintain separate tables for each particular user device with the protocols. The protocols specify the particular alert state change, if any, for the corresponding events, and can indicate how to contact the device by specifying, for example, a phone number or e-mail address. The protocols can also specify if the device alert state is not remote controllable and, if so, a particular type of audio or text message to send for providing notification of the events.

[0058] Table 3 provides an example of a data structure for specifying events for a user device, and Table 4 provides an example of a data structure for specifying particular protocols. Therefore, by linking events with user devices, and protocols with events, the system server can determine when and how to perform the alert state changes or notifications of them. The data in Tables 3 and 4 is provided for illustrative purposes only; other types of events and alert state changes or notifications can be used. TABLE 2 User Device 1 Events Protocols time-based event 1 protocol 1 time-based event 2 protocol 2 . . . time-based event N protocol N location-based event 1 protocol N + 1 location-based event 2 protocol N + 2 . . . location-based event N protocol M

[0059] TABLE 3 events for user device 1 time-based event 1 Meeting beginning at 8:00 am on date X time-based event 2 Meeting ending at 9:00 am on date X . . . location-based event 1 Detection of device in movie theater ABC location-based event 2 No detection of device in movie theater ABC after event 1 . . .

[0060] TABLE 4 protocol 1: contact 206-555-1234 alert state change ringer mode to vibrate mode protocol 2: contact userdevice@emailaddress.com alert state change message: turn off device during the meeting . . .

[0061]FIGS. 8 and 9 are a flow chart of a method 210 for an automatic alert state change for a time-based events and location-based events. In method 210, system server 152 obtains a current time (step 212). The system can use a conventional clock module to provide the current data and time information. System server 152 also monitors and receives an indication of whether a user device is detected within particular geographic areas by local interactive wireless devices (step 214). In particular, it can receive information from local wireless interactive devices identifying their geographic areas and the user devices detected within their areas. These local interactive wireless devices can operate according to the Bluetooth standard discussed above and in the related application identified above. Table 5 provides an example of information transmitted over a network, such as the wireline or wireless networks identified above, for specifying user devices within a particular geographic area. Thus, the system server can receive from multiple interactive wireless devices an identification of a geographic area for each device and identifications of user devices currently detected in each of the areas. TABLE 5 Local Interactive Wireless Device 1 Geographic Area User Devices Currently Detected geographic area 1 user device 1 user device 2 . . . user device N

[0062] System server 152 can also receive or access alert state change protocol 154 for both time-based and location-based events (step 216).

[0063] Based upon the current time and device location information received in step 214, system server 152 can access the time-based event information 156 and location-based event information 172 and determine whether an alert state change is required for the user device (step 218). In particular, system server 152 can compare the received information with the stored time-based and location-based event information to determine if an event has occurred. If an alert state change is required, system server 152 determines whether the device alert state for the user device is remote controllable (step 220). For example, system server 152 can access alert state change protocol 154 for this user device to identify the user device and its capabilities. If the user device is remote controllable (step 222), system server 152 sends a signal to the device to change its alert state from one particular state to another according to the alert state change protocol 154 (step 224).

[0064] Otherwise, if the user device is not remote controllable (step 222), system server 152 determines whether the user device has voice capability (step 226). Again, system server 152 can access alert state change protocol 154 to identify the user device and its capabilities, including the capability to provide an audible message. If the user device is voice capable (step 228), system server 152 selects an audio message according to alert state change protocol 154 (step 230). The audio message can be selected, for example, from prerecorded audio segments or using a computer-generated voice. The alert state change protocol can identify which audio segment to use for each particular time-based and location-based event. System server 152 then contacts the user device (step 232) by, for example, establishing communication with it over the network, and plays the audio message on the user device (step 234).

[0065] If the user device is not voice capable (step 228), system server 152 selects a text message according to alert state change protocol 154 (step 236). The alert state change protocol can identify which text message to use for each particular time-based and location-based event. System server 152 then contacts the user device (step 238) by, for example, establishing communication with it over the network, and sends text message to be displayed on the user device (step 240).

[0066] After steps 224, 234, and 240, system server 152 returns to step 212 to continue to detect or receive an indication of the occurrence of time-based and location-based events, and provide corresponding alert state changes or notification of the events. An occurrence of a time-based event can include an end of an event in order to, for example, return a device to an audible alert state after the event. An occurrence of a location-based event can include no longer detecting a user device within a particular geographic area in order to, for example, return a device to an audible alert state after that event. Alert state changes thus may often include a change from an audible state to a non-audible state upon detecting a start of a time-based event or a location-based event, and a return to an audible state after the event. However, alert state changes can occur between any type of alert states for time-based event and location-based events as specified in the protocols.

[0067] While the present invention has been described in connection with an exemplary embodiment, it will be understood that many modifications will be readily apparent to those skilled in the art, and this application is intended to cover any adaptations or variations thereof. For example, various types of user devices, hardware components for the devices and servers, and types of network transmissions may be used without departing from the scope of the invention. This invention should be limited only by the claims and equivalents thereof. 

What is claimed is:
 1. A method for automatically changing an alert state for a user device, comprising: storing information concerning time-based events; associating the events with a user device having a variable alert state; detecting occurrence of one of the time-based events; and transmitting a signal to the user device to change the alert state based upon the detecting.
 2. The method of claim 1 wherein the storing step includes maintaining an electronic calendar having information for the time-based events relating to a user associated with the user device.
 3. The method of claim 1 , further including storing an indication to change the alert state from an audible state to a non-audible state based upon the detecting.
 4. The method of claim 1 wherein the detecting step includes detecting a current time matching a time associated with one of the time-based events.
 5. The method of claim 1 , further including receiving information from a user associated with the user device for the time-based events.
 6. The method of claim 1 , further including: determining that the alert state for the user device is not remote controllable; and transmitting to the user device a message concerning the time-based event based upon the detecting and the determining.
 7. The method of claim 6 , further including selecting a pre-recorded audible segment to send to the user device as the message.
 8. The method of claim 6 , further including: determining whether the user device has voice capability; and selecting a text segment to send to the user device as the message based upon whether the device has the voice capability.
 9. A method for automatically changing an alert state for a user device, comprising: storing information concerning location-based events; associating the events with a user device having a variable alert state; receiving an occurrence of one of the location-based events; and transmitting a signal to the user device to change the alert state based upon the detecting.
 10. The method of claim 9 , further including storing an indication to change the alert state from an audible state to a non-audible state based upon the detecting.
 11. The method of claim 9 wherein the receiving step includes receiving a detection of the user device within a particular geographic area.
 12. The method of claim 9 , further including receiving information from a user associated with the user device for the location-based events.
 13. The method of claim 9 , further including: determining that the alert state for the user device is not remote controllable; and transmitting to the user device a message concerning the location-based event based upon the detecting and the determining.
 14. The method of claim 13 , further including selecting a pre-recorded audible segment to send to the user device as the message.
 15. The method of claim 13 , further including: determining whether the user device has voice capability; and selecting a text segment to send to the user device as the message based upon whether the device has the voice capability.
 16. An apparatus for automatically changing an alert state for a user device, comprising: a store module for storing information concerning time-based events; an associate module for associating the events with a user device having a variable alert state; a detect module for detecting occurrence of one of the time-based events; and a transmit module for transmitting a signal to the user device to change the alert state based upon the detecting.
 17. The apparatus of claim 16 wherein the store module includes a module for maintaining an electronic calendar having information for the time-based events relating to a user associated with the user device.
 18. The apparatus of claim 16 , further including a module for storing an indication to change the alert state from an audible state to a non-audible state based upon the detecting.
 19. The apparatus of claim 16 wherein the detect module includes a module for detecting a current time matching a time associated with one of the time-based events.
 20. The apparatus of claim 16 , further including a module for receiving information from a user associated with the user device for the time-based events.
 21. The apparatus of claim 16 , further including: a module for determining that the alert state for the user device is not remote controllable; and a module for transmitting to the user device a message concerning the time-based event based upon the detecting and the determining.
 22. The apparatus of claim 21 , further including a module for selecting a pre-recorded audible segment to send to the user device as the message.
 23. The apparatus of claim 21 , further including: a module for determining whether the user device has voice capability; and a module for selecting a text segment to send to the user device as the message based upon whether the device has the voice capability.
 24. An apparatus for automatically changing an alert state for a user device, comprising: a store module for storing information concerning location-based events; an associate module for associating the events with a user device having a variable alert state; a receive module for receiving an occurrence of one of the location-based events; and a transmit module for transmitting a signal to the user device to change the alert state based upon the detecting.
 25. The apparatus of claim 24 , further including a module for storing an indication to change the alert state from an audible state to a non-audible state based upon the detecting.
 26. The apparatus of claim 24 wherein the receive module includes a module for receiving a detection of the user device within a particular geographic area.
 27. The apparatus of claim 24 , further including a module for receiving information from a user associated with the user device for the location-based events.
 28. The apparatus of claim 24 , further including: a module for determining that the alert state for the user device is not remote controllable; and a module for transmitting to the user device a message concerning the location-based event based upon the detecting and the determining.
 29. The apparatus of claim 28 , further including a module for selecting a pre-recorded audible segment to send to the user device as the message.
 30. The apparatus of claim 28 , further including: a module for determining whether the user device has voice capability; and a module for selecting a text segment to send to the user device as the message based upon whether the device has the voice capability. 